
<!DOCTYPE HTML>
<html lang="" >
    <head>
        <meta charset="UTF-8">
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
        <title>10.0.0 · RxDB - JavaScript Database</title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="description" content="">
        <meta name="generator" content="GitBook 3.2.3">
        
        
        
    
    <link rel="stylesheet" href="../gitbook/style.css">

    
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-expandable-chapters/expandable-chapters.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
                
            
        

    

    
        
        <link rel="stylesheet" href="../styles/website.css">
        
    
        
    
        
    
        
    
        
    
        
    

        
    
    
    <meta name="HandheldFriendly" content="true"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">

    
    <link rel="next" href="9.0.0.html" />
    
    
    <link rel="prev" href="11.0.0.html" />
    

    </head>
    <body>
        
<div class="book">
    <div class="book-summary">
        
            
<div id="book-search-input" role="search">
    <input type="text" placeholder="Type to search" />
</div>

            
                <nav role="navigation">
                


<ul class="summary">
    
    
    
        
        <li>
            <a href="/" target="_blank" class="custom-link">RxDB</a>
        </li>
    
        
        <li>
            <a href="https://twitter.com/intent/user?screen_name=rxdbjs" target="_blank" class="custom-link">Follow @twitter </a>
        </li>
    
        
        <li>
            <a href="https://discord.gg/tqt9ZttJfD" target="_blank" class="custom-link">Chat @discord </a>
        </li>
    
        
        <li>
            <a href="https://github.com/pubkey/rxdb" target="_blank" class="custom-link">Star @github </a>
        </li>
    
        
        <li>
            <a href="https://github.com/sponsors/pubkey" target="_blank" class="custom-link">Donate @github </a>
        </li>
    
    

    
    <li class="divider"></li>
    

    
        
        
    
        <li class="chapter " data-level="1.1" data-path="../">
            
                <a href="../">
            
                    
                    Introduction
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2" data-path="../quickstart.html">
            
                <a href="../quickstart.html">
            
                    
                    Quickstart
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3" data-path="../install.html">
            
                <a href="../install.html">
            
                    
                    Install
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.3.1" data-path="../install.html">
            
                <a href="../install.html#npm">
            
                    
                    npm
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3.2" data-path="../install.html">
            
                <a href="../install.html#import">
            
                    
                    import
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.4" data-path="../dev-mode.html">
            
                <a href="../dev-mode.html">
            
                    
                    Dev Mode
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5" data-path="../rx-database.html">
            
                <a href="../rx-database.html">
            
                    
                    RxDatabase
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.5.1" data-path="../rx-database.html">
            
                <a href="../rx-database.html#creation">
            
                    
                    Creation
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.5.1.1" data-path="../rx-database.html">
            
                <a href="../rx-database.html#name">
            
                    
                    name
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.2" data-path="../rx-database.html">
            
                <a href="../rx-database.html#adapter">
            
                    
                    adapter
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.3" data-path="../rx-database.html">
            
                <a href="../rx-database.html#password">
            
                    
                    password
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.4" data-path="../rx-database.html">
            
                <a href="../rx-database.html#multiinstance">
            
                    
                    multiInstance
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.5" data-path="../rx-database.html">
            
                <a href="../rx-database.html#eventreduce">
            
                    
                    eventReduce
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.6" data-path="../rx-database.html">
            
                <a href="../rx-database.html#ignoreduplicate">
            
                    
                    ignoreDuplicate
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.1.7" data-path="../rx-database.html">
            
                <a href="../rx-database.html#pouchSettings">
            
                    
                    pouchSettings
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.5.2" data-path="../rx-database.html">
            
                <a href="../rx-database.html#functions">
            
                    
                    Functions
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.5.2.1" data-path="../rx-database.html">
            
                <a href="../rx-database.html#observe-with-">
            
                    
                    $
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.2.2" data-path="../rx-database.html">
            
                <a href="../rx-database.html#dump">
            
                    
                    exportJSON()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.2.3" data-path="../rx-database.html">
            
                <a href="../rx-database.html#importdump">
            
                    
                    importJSON()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.2.4" data-path="../rx-database.html">
            
                <a href="../rx-database.html#server">
            
                    
                    server()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.2.5" data-path="../rx-database.html">
            
                <a href="../rx-database.html#waitforleadership">
            
                    
                    waitForLeadership()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.2.6" data-path="../rx-database.html">
            
                <a href="../rx-database.html#requestidlepromise">
            
                    
                    requestIdlePromise()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.2.7" data-path="../rx-database.html">
            
                <a href="../rx-database.html#destroy">
            
                    
                    destroy()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.2.8" data-path="../rx-database.html">
            
                <a href="../rx-database.html#remove">
            
                    
                    remove()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.2.9" data-path="../rx-database.html">
            
                <a href="../rx-database.html#checkadapter">
            
                    
                    checkAdapter()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.2.10" data-path="../rx-database.html">
            
                <a href="../rx-database.html#isrxdatabase">
            
                    
                    isRxDatabase()
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.6" data-path="../rx-schema.html">
            
                <a href="../rx-schema.html">
            
                    
                    RxSchema
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.6.1" data-path="../rx-schema.html">
            
                <a href="../rx-schema.html#example">
            
                    
                    Example
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.2" data-path="../rx-schema.html">
            
                <a href="../rx-schema.html#create-a-collection-with-the-schema">
            
                    
                    Create a collection with the schema
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.3" data-path="../rx-schema.html">
            
                <a href="../rx-schema.html#version">
            
                    
                    version
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.4" data-path="../rx-schema.html">
            
                <a href="../rx-schema.html#keycompression">
            
                    
                    keyCompression
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.5" data-path="../rx-schema.html">
            
                <a href="../rx-schema.html#indexes">
            
                    
                    indexes
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.6" data-path="../rx-schema.html">
            
                <a href="../rx-schema.html#attachments">
            
                    
                    attachments
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.7" data-path="../rx-schema.html">
            
                <a href="../rx-schema.html#default">
            
                    
                    default
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.8" data-path="../rx-schema.html">
            
                <a href="../rx-schema.html#final">
            
                    
                    final
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.7" data-path="../schema-validation.html">
            
                <a href="../schema-validation.html">
            
                    
                    Schema Validation
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html">
            
                    
                    RxCollection
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.8.1" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html#creating-a-collection">
            
                    
                    Creation
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.8.1.1" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html#name">
            
                    
                    name
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.1.2" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html#schema">
            
                    
                    schema
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.1.3" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html#orm-functions">
            
                    
                    ORM-functions
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.1.4" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html#Migration">
            
                    
                    Migration
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.8.2" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html#functions">
            
                    
                    Functions
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.8.2.1" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html#observe-">
            
                    
                    $
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.2.2" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html#insert">
            
                    
                    insert()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.2.3" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html#bulkinsert">
            
                    
                    bulkInsert()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.2.4" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html#bulkremove">
            
                    
                    bulkRemove()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.2.5" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html#upsert">
            
                    
                    upsert()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.2.6" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html#incrementalUpsert">
            
                    
                    incrementalUpsert()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.2.7" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html#find">
            
                    
                    find()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.2.8" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html#findone">
            
                    
                    findOne()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.2.9" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html#findbyids">
            
                    
                    findByIds()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.2.10" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html#findbyids$">
            
                    
                    findByIds$()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.2.11" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html#dump">
            
                    
                    exportJSON()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.2.12" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html#importdump">
            
                    
                    importJSON()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.2.13" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html#remove">
            
                    
                    remove()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.2.14" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html#destroy">
            
                    
                    destroy()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.2.15" data-path="../rx-collection.html">
            
                <a href="../rx-collection.html#isrxcollection">
            
                    
                    isRxCollection()
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.9" data-path="../rx-document.html">
            
                <a href="../rx-document.html">
            
                    
                    RxDocument
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.9.1" data-path="../rx-document.html">
            
                <a href="../rx-document.html#insert">
            
                    
                    Insert
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9.2" data-path="../rx-document.html">
            
                <a href="../rx-document.html#find">
            
                    
                    Find
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9.3" data-path="../rx-document.html">
            
                <a href="../rx-document.html#functions">
            
                    
                    Functions
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.9.3.1" data-path="../rx-document.html">
            
                <a href="../rx-document.html#get">
            
                    
                    get()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9.3.2" data-path="../rx-document.html">
            
                <a href="../rx-document.html#get$">
            
                    
                    get$()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9.3.3" data-path="../rx-document.html">
            
                <a href="../rx-document.html#proxy-get">
            
                    
                    proxy-get
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9.3.4" data-path="../rx-document.html">
            
                <a href="../rx-document.html#update">
            
                    
                    update()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9.3.5" data-path="../rx-document.html">
            
                <a href="../rx-document.html#incrementalModify">
            
                    
                    incrementalModify()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9.3.6" data-path="../rx-document.html">
            
                <a href="../rx-document.html#incrementalPatch">
            
                    
                    incrementalPatch()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9.3.7" data-path="../rx-document.html">
            
                <a href="../rx-document.html#observe-">
            
                    
                    $
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9.3.8" data-path="../rx-document.html">
            
                <a href="../rx-document.html#remove">
            
                    
                    remove()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9.3.9" data-path="../rx-document.html">
            
                <a href="../rx-document.html#deleted$">
            
                    
                    deleted$
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9.3.10" data-path="../rx-document.html">
            
                <a href="../rx-document.html#tojson">
            
                    
                    toJSON()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9.3.11" data-path="../rx-document.html">
            
                <a href="../rx-document.html#set">
            
                    
                    set()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9.3.12" data-path="../rx-document.html">
            
                <a href="../rx-document.html#save">
            
                    
                    save()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9.3.13" data-path="../rx-document.html">
            
                <a href="../rx-document.html#isrxdocument">
            
                    
                    isRxDocument()
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.10" data-path="../rx-query.html">
            
                <a href="../rx-query.html">
            
                    
                    RxQuery
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.10.1" data-path="../rx-query.html">
            
                <a href="../rx-query.html#find">
            
                    
                    find()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.10.2" data-path="../rx-query.html">
            
                <a href="../rx-query.html#findOne">
            
                    
                    findOne()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.10.3" data-path="../rx-query.html">
            
                <a href="../rx-query.html#exec">
            
                    
                    exec()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.10.4" data-path="../rx-query.html">
            
                <a href="../rx-query.html#observe-">
            
                    
                    $
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.10.5" data-path="../rx-query.html">
            
                <a href="../rx-query.html#update">
            
                    
                    update()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.10.6" data-path="../rx-query.html">
            
                <a href="../rx-query.html#remove">
            
                    
                    remove()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.10.7" data-path="../rx-query.html">
            
                <a href="../rx-query.html#doesDocumentDataMatch">
            
                    
                    doesDocumentDataMatch()
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.10.8" data-path="../rx-query.html">
            
                <a href="../rx-query.html#setting-a-specific-index">
            
                    
                    Specific Index
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.10.9" data-path="../rx-query.html">
            
                <a href="../rx-query.html#examples">
            
                    
                    Examples
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.10.10" data-path="../rx-query.html">
            
                <a href="../rx-query.html#isrxquery">
            
                    
                    isRxQuery()
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.11" data-path="../rx-storage.html">
            
                <a href="../rx-storage.html">
            
                    
                    RxStorage
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.11.1" data-path="../rx-storage-performance.html">
            
                <a href="../rx-storage-performance.html">
            
                    
                    RxStorage Performance
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.11.2" data-path="../rx-storage-dexie.html">
            
                <a href="../rx-storage-dexie.html">
            
                    
                    RxStorage Dexie.js
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.11.3" data-path="../rx-storage-lokijs.html">
            
                <a href="../rx-storage-lokijs.html">
            
                    
                    RxStorage LokiJS
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.11.4" data-path="../rx-storage-memory.html">
            
                <a href="../rx-storage-memory.html">
            
                    
                    RxStorage Memory
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.11.5" data-path="../rx-storage-indexeddb.html">
            
                <a href="../rx-storage-indexeddb.html">
            
                    
                    RxStorage IndexedDB
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.11.6" data-path="../rx-storage-sqlite.html">
            
                <a href="../rx-storage-sqlite.html">
            
                    
                    RxStorage SQLite
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.11.7" data-path="../rx-storage-foundationdb.html">
            
                <a href="../rx-storage-foundationdb.html">
            
                    
                    RxStorage FoundationDB
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.11.8" data-path="../rx-storage-worker.html">
            
                <a href="../rx-storage-worker.html">
            
                    
                    RxStorage Worker
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.11.9" data-path="../rx-storage-shared-worker.html">
            
                <a href="../rx-storage-shared-worker.html">
            
                    
                    RxStorage Shared Worker
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.11.10" data-path="../rx-storage-remote.html">
            
                <a href="../rx-storage-remote.html">
            
                    
                    RxStorage Remote
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.11.11" data-path="../rx-storage-memory-synced.html">
            
                <a href="../rx-storage-memory-synced.html">
            
                    
                    RxStorage Memory Synced
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.11.12" data-path="../rx-storage-sharding.html">
            
                <a href="../rx-storage-sharding.html">
            
                    
                    RxStorage Sharding
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.11.13" data-path="../rx-storage-localstorage-meta-optimizer.html">
            
                <a href="../rx-storage-localstorage-meta-optimizer.html">
            
                    
                    RxStorage Localstorage Meta Optimizer
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.11.14" data-path="../electron.html">
            
                <a href="../electron.html#rxstorage-electron-ipcrenderer--ipcmain">
            
                    
                    RxStorage Electron IpcRenderer & IpcMain
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.12" data-path="../replication.html">
            
                <a href="../replication.html">
            
                    
                    Replication
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.12.1" data-path="../replication-graphql.html">
            
                <a href="../replication-graphql.html">
            
                    
                    Replication GraphQL
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.12.2" data-path="../replication-websocket.html">
            
                <a href="../replication-websocket.html">
            
                    
                    Replication Websocket
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.12.3" data-path="../replication-couchdb.html">
            
                <a href="../replication-couchdb.html">
            
                    
                    Replication CouchDB
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.12.4" data-path="../replication-p2p.html">
            
                <a href="../replication-p2p.html">
            
                    
                    Replication P2P
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.12.5" data-path="../replication-firestore.html">
            
                <a href="../replication-firestore.html">
            
                    
                    Replication Firestore
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.13" data-path="../rx-attachment.html">
            
                <a href="../rx-attachment.html">
            
                    
                    RxAttachment
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.14" data-path="../middleware.html">
            
                <a href="../middleware.html">
            
                    
                    Middleware-hooks
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.15" data-path="../orm.html">
            
                <a href="../orm.html">
            
                    
                    ORM/DRM
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.16" data-path="../population.html">
            
                <a href="../population.html">
            
                    
                    Population
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.17" data-path="../encryption.html">
            
                <a href="../encryption.html">
            
                    
                    Encryption
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.18" data-path="../key-compression.html">
            
                <a href="../key-compression.html">
            
                    
                    Key Compression
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.19" data-path="../data-migration.html">
            
                <a href="../data-migration.html">
            
                    
                    DataMigration
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.20" data-path="../leader-election.html">
            
                <a href="../leader-election.html">
            
                    
                    LeaderElection
            
                </a>
            

            
        </li>
    

    
        
        <li class="divider"></li>
        
        
    
        <li class="chapter " data-level="2.1" data-path="../cleanup.html">
            
                <a href="../cleanup.html">
            
                    
                    Cleanup
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2" data-path="../backup.html">
            
                <a href="../backup.html">
            
                    
                    Backup
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3" data-path="../query-cache.html">
            
                <a href="../query-cache.html">
            
                    
                    QueryCache
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.4" data-path="../rx-local-document.html">
            
                <a href="../rx-local-document.html">
            
                    
                    LocalDocuments
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.5" data-path="../crdt.html">
            
                <a href="../crdt.html">
            
                    
                    CRDT
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.6" data-path="../third-party-plugins.html">
            
                <a href="../third-party-plugins.html">
            
                    
                    Third Party Plugins
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.7" data-path="../plugins.html">
            
                <a href="../plugins.html">
            
                    
                    Creating Plugins
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.8" data-path="../query-optimizer.html">
            
                <a href="../query-optimizer.html">
            
                    
                    Query Optimizer
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.9" data-path="../storage-migration.html">
            
                <a href="../storage-migration.html">
            
                    
                    Storage Migration
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.10" data-path="../transactions-conflicts-revisions.html">
            
                <a href="../transactions-conflicts-revisions.html">
            
                    
                    Transactions, Conflicts and Revisions
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.11" >
            
                <a target="_blank" href="https://rxdb.info/premium.html">
            
                    
                    RxDB Premium
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.12" >
            
                <span>
            
                    
                    Tutorials
            
                </span>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.12.1" data-path="../tutorials/typescript.html">
            
                <a href="../tutorials/typescript.html">
            
                    
                    Use RxDB with Typescript
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.12.2" data-path="../nodejs-database.html">
            
                <a href="../nodejs-database.html">
            
                    
                    RxDB as Node.js Database
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="2.13" >
            
                <span>
            
                    
                    Opinions
            
                </span>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.13.1" data-path="../offline-first.html">
            
                <a href="../offline-first.html">
            
                    
                    Offline First
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.13.2" data-path="../downsides-of-offline-first.html">
            
                <a href="../downsides-of-offline-first.html">
            
                    
                    Downsides of Offline First
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.13.3" data-path="../slow-indexeddb.html">
            
                <a href="../slow-indexeddb.html">
            
                    
                    Slow IndexedDB
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.13.4" data-path="../why-nosql.html">
            
                <a href="../why-nosql.html">
            
                    
                    Why NoSQL
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.13.5" data-path="../alternatives.html">
            
                <a href="../alternatives.html">
            
                    
                    Alternatives
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.13.6" data-path="../react-native-database.html">
            
                <a href="../react-native-database.html">
            
                    
                    React Native Database
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.13.7" data-path="../capacitor-database.html">
            
                <a href="../capacitor-database.html">
            
                    
                    Capacitor Database
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.13.8" data-path="../electron-database.html">
            
                <a href="../electron-database.html">
            
                    
                    Electron Database
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="2.14" data-path="../questions-answers.html">
            
                <a href="../questions-answers.html">
            
                    
                    Questions & Answers
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.15" data-path="../contribute.html">
            
                <a href="../contribute.html">
            
                    
                    Contribute
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.16" >
            
                <span>
            
                    
                    Release Notes
            
                </span>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.16.1" >
            
                <a target="_blank" href="https://github.com/pubkey/rxdb/blob/master/CHANGELOG.md">
            
                    
                    CHANGELOG
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.16.2" data-path="14.0.0.html">
            
                <a href="14.0.0.html">
            
                    
                    14.0.0
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.16.3" data-path="13.0.0.html">
            
                <a href="13.0.0.html">
            
                    
                    13.0.0
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.16.4" data-path="12.0.0.html">
            
                <a href="12.0.0.html">
            
                    
                    12.0.0
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.16.5" data-path="11.0.0.html">
            
                <a href="11.0.0.html">
            
                    
                    11.0.0
            
                </a>
            

            
        </li>
    
        <li class="chapter active" data-level="2.16.6" data-path="10.0.0.html">
            
                <a href="10.0.0.html">
            
                    
                    10.0.0
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.16.7" data-path="9.0.0.html">
            
                <a href="9.0.0.html">
            
                    
                    9.0.0
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.16.8" data-path="8.0.0.html">
            
                <a href="8.0.0.html">
            
                    
                    8.0.0
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="2.17" >
            
                <span>
            
                    
                    Deprecated
            
                </span>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.17.1" data-path="../rx-storage-pouchdb.html">
            
                <a href="../rx-storage-pouchdb.html">
            
                    
                    RxStorage PouchDB
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.17.2" data-path="../adapters.html">
            
                <a href="../adapters.html">
            
                    
                    RxStorage PouchDB Adapters
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

    
        
        <li class="divider"></li>
        
        
    
        <li class="chapter " data-level="3.1" >
            
                <a target="_blank" href="https://rxdb.info/imprint.html">
            
                    
                    Imprint
            
                </a>
            

            
        </li>
    

    

    <li class="divider"></li>

    <li>
        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
            Published with GitBook
        </a>
    </li>
</ul>


                </nav>
            
        
    </div>

    <div class="book-body">
        
            <div class="body-inner">
                
                    

<div class="book-header" role="navigation">
    

    <!-- Title -->
    <h1>
        <i class="fa fa-circle-o-notch fa-spin"></i>
        <a href=".." >10.0.0</a>
    </h1>
</div>




                    <div class="page-wrapper" tabindex="-1" role="main">
                        <div class="page-inner">
                            
<div id="book-search-results">
    <div class="search-noresults">
    
                                <section class="normal markdown-section">
                                
                                <h1 id="1000">10.0.0</h1>
<p>One year after version <code>9.0.0</code> we now have RxDB version <code>10.0.0</code>.
The main goal of version 10 was to change things that make RxDB ready for the future.</p>
<p>Notice that I use major releases to bundle stuff that breaks the RxDB usage in your project, not to add new features.</p>
<h2 id="the-main-thing-first">The main thing first</h2>
<p>In the past, RxDB was build around Pouchdb. Before I started making RxDB I tried to solve the problems of my current project with other existing databases out there. I evaluated all of them and then started using Pouchdb and added many features via plugin. Then I realised it will be easier to create a separate project that wraps around Pouchdb, that was RxDB. Back then pouchdb was the most major browser database out there and it was well maintained and had a big community.
But in the last 5 years, things have changed. A big part of the RxDB users do not use couchdb in the backend and do not need the couchdb replication.
Therefore they do not really need the overhead with revision handling that slows down the performance of pouchdb. Also there where many other problems with using pouchdb. It is not actively developed, many bugs are not fixed and no new features get added. Also there are many unsolved problems like how to finally delete document data or how to replicate more then 6 databases at the same time, how to use replication without attachments data, and so on...</p>
<p>So for this release, I abstracted all parts that we use from pouchdb into the <code>RxStorage</code> interface. RxDB works on top of any implementation of the <code>RxStorage</code> interface. This means it is now possible to use RxDB together with other underlying storages like SQLite, PostgreSQL, Minimongo, MongoDB, and so on, as long as someone writes the <code>RxStorage</code> class for it.</p>
<p>This means, to create a <code>RxDatabase</code> you have to pass the storage class instead of pouchdb specific settings:</p>
<pre><code class="lang-ts">
<span class="hljs-comment">// import pouchdb specific stuff and add pouchdb adapters</span>
<span class="hljs-keyword">import</span> {
    addPouchPlugin,
    getRxStoragePouch
} from <span class="hljs-string">&apos;rxdb/plugins/pouchdb&apos;</span>;

<span class="hljs-comment">// IMPORTANT: Do not use addRxPlugin to add pouchdb adapter, instead use addPouchPlugin</span>
addPouchPlugin(<span class="hljs-built_in">require</span>(<span class="hljs-string">&apos;pouchdb-adapter-memory&apos;</span>));

<span class="hljs-keyword">import</span> {
    addRxPlugin,
    createRxDatabase,
    randomCouchString,
} from <span class="hljs-string">&apos;rxdb/plugins/core&apos;</span>;

<span class="hljs-comment">// create the database with the storage creator.</span>
<span class="hljs-keyword">const</span> db = await createRxDatabase({
    name: <span class="hljs-string">&apos;mydatabase&apos;</span>,
    storage: getRxStoragePouch(<span class="hljs-string">&apos;memory&apos;</span>),
});
</code></pre>
<p>To access the internal <code>pouch</code> instance of a collection, you have to go over the <code>storageInstance</code>:</p>
<pre><code class="lang-ts"><span class="hljs-keyword">const</span> pouch = myRxCollection.storageInstance.internals.pouch;
</code></pre>
<h2 id="other-breaking-changes">Other breaking changes</h2>
<h3 id="primary-key-is-required">Primary key is required</h3>
<p>In the past, using a primary key was optional. When no primary key was defined, RxDB filled up the <code>_id</code> field with an uuid-like string which was then used as primary. When I researched on github how people use RxDB, I found out that many use a secondary index for what should be the primary key.
Also having the primary key optional, caused much confusing when using RxDB with typescript.</p>
<p>So now the primary key MUST be set when creating a schema for RxDB.
Also the primary key is defined with the <code>primaryKey</code> property at the top level of the schema. This ensures that typescript will complain if no <code>primaryKey</code> is defined.</p>
<pre><code class="lang-ts">
<span class="hljs-comment">// when using the type `RxJsonSchema&lt;DocType&gt;` the `DocType` is now required</span>
<span class="hljs-keyword">const</span> mySchema: RxJsonSchema&lt;MyDocumentData&gt; = {
    version: <span class="hljs-number">0</span>,
    primaryKey: <span class="hljs-string">&apos;passportId&apos;</span>,
    <span class="hljs-keyword">type</span>: <span class="hljs-string">&apos;object&apos;</span>,
    properties: {
        passportId: {
            <span class="hljs-keyword">type</span>: <span class="hljs-string">&apos;string&apos;</span>
        }
    },
    <span class="hljs-comment">// primaryKey is always required</span>
    required: [<span class="hljs-string">&apos;passportId&apos;</span>]
}
</code></pre>
<h3 id="attachment-data-must-be-blob-or-buffer">Attachment data must be Blob or Buffer</h3>
<p>In the past, an <code>RxAttachment</code> could be stored with <code>Blob</code>, <code>Buffer</code> and <code>string</code> data. If a <code>string</code> was passed, pouchdb internally transformed the data to a <code>Blob</code> or <code>Buffer</code>, depending on in which environment it is running.
This behavior caused much trouble and weird edge cases because of how the data is transformed from and to <code>string</code>.
So now you can only store <code>Blob</code> or <code>Buffer</code> as attachment data. <code>string</code> is no longer allowed. You can still transform a string to a Blob or Buffer by yourself and then store it.</p>
<pre><code class="lang-ts"><span class="hljs-keyword">import</span> { blobBufferUtil } from <span class="hljs-string">&apos;rxdb&apos;</span>;

<span class="hljs-keyword">const</span> attachment = await myDocument.putAttachment(
    {
        id: <span class="hljs-string">&apos;cat.txt&apos;</span>,
        data: blobBufferUtil.createBlobBuffer(<span class="hljs-string">&apos;miau&apos;</span>, <span class="hljs-string">&apos;text/plain&apos;</span>)
        <span class="hljs-keyword">type</span>: <span class="hljs-string">&apos;text/plain&apos;</span>
    }
);
</code></pre>
<p>Also <code>putAttachment()</code> now defaults to <code>skipIfSame=true</code>. This means when you write attachment data that already is exactly the same in the database, no write will be done.</p>
<h3 id="outgoing-data-is-now-readonly-and-deep-frozen">Outgoing data is now readonly and deep-frozen</h3>
<p>RxDB often uses outgoing data also in the internals. For example the result of a query is not only send to the user, but also used inside of RxDB&apos;s query-change-detection. To ensure that mutation of the outgoing data is not changing internal stuff, which would cause strange bugs, outgoing data was always deep-cloned before handing it out to the user. This is a common practice on many javascript libraries.</p>
<p>The problem is that deep-cloning big objects can be very CPU/Memory expensive. So instead of doing a deep-clone, RxDB does now assume that outgoing data is <strong>immutable</strong>. If the users wants to modify that data, it has be be deep-cloned by the user.
To ensure immutability, RxDB runs a <a href="https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze" target="_blank">deep-freeze</a> in the dev-mode (about same expensive as deep clone). Also typescript will throw a build-time error because we use <code>ReadonlyArray</code> and <code>readonly</code> to define outgoing data immutable. In production-mode, there will be nothing besides typescript that ensures immutability to have best performance.</p>
<pre><code class="lang-ts"><span class="hljs-keyword">const</span> data = myRxDocument.toJSON();
data.foo = bar; <span class="hljs-comment">// This does NOT work!</span>

<span class="hljs-comment">// instead clone the data before changing it</span>
<span class="hljs-keyword">import</span> { clone } from <span class="hljs-string">&apos;rxjs&apos;</span>;
<span class="hljs-keyword">const</span> clonedData = clone(data);
data.foo = bar; <span class="hljs-comment">// This works!</span>
</code></pre>
<h3 id="the-in-memory-plugin-does-no-longer-work">The in-memory plugin does no longer work.</h3>
<p>The in-memory plugin was used to spawn in-memory collections on top of a normal <code>RxCollection</code>. The benefit is to have the data replicated into the memory of the javascript runtime, which allows for faster queries.</p>
<p>After doing many tests and observations, I found out that the in-memory plugin was slow. Really slow, even slower then just using the indexeddb adapter in the browser. You can reproduce my observations at the event-reduce testpage. Here you can see that random-writes+query are slower on the <a href="https://pubkey.github.io/event-reduce/?tech=pouchdb:memory" target="_blank">memory-adapter</a> then on <a href="https://pubkey.github.io/event-reduce/?tech=pouchdb:indexeddb" target="_blank">indexeddb</a>.
The reason for this are the big abstraction layers. Pouchdb uses the adapter system. The memory adapter uses the <a href="https://github.com/Level/levelup" target="_blank">leveldown abstraction layer</a>. Each write/read goes to the <a href="https://github.com/Level/memdown" target="_blank">memdown module</a>.</p>
<p>So the in-memory plugin is not working for now. In the future it will be reimplemented in a custom memory based <code>RxStorage</code> class.</p>
<p>Notice: You can of course still use the pouchdb <code>memory</code> adapter as usual. It is not affected by this change.</p>
<h2 id="what-else-is-a-breaking-change">What else is a breaking change?</h2>
<ul>
<li>Removed the deprecated <code>atomicSet()</code>, use <code>atomicPatch()</code> instead.</li>
<li>Removed the deprecated <code>RxDatabase.collection()</code> use <code>RxDatabase().addCollections()</code> instead.</li>
<li>Removed plugin hook <code>preCreatePouchDb</code> because it is no longer needed.</li>
<li>Removed the <code>watch-for-changes</code> plugin. We now overwrite pouchdbs <code>bulkDocs</code> method to generate events. This is faster and more reliable.</li>
<li>Removed the <code>adapter-check</code> plugin. (The function <code>adapterCheck</code> is move to the pouchdb plugin).</li>
<li>Calling <code>RxDatabase.server()</code> now returns a promise that resolves when the server is started up.</li>
<li>Changed the defaults of <code>PouchDBExpressServerOptions</code> from the <code>server()</code> method, by default we now store logs in the <code>tmp</code> folder and the config is in memory.</li>
<li>Renamed <code>replication</code>-plugin to <code>replication-couchdb</code> to be more consistent in naming like with <code>replication-graphql</code><ul>
<li>For the same reason, renamed <code>RxCollection().sync()</code> to <code>RxCollection().syncCouchDB()</code></li>
</ul>
</li>
<li>Renamed the functions of the json import/export plugin to be less confusing.<ul>
<li><code>dump()</code> is now <code>exportJSON()</code></li>
<li><code>importDump()</code> is now <code>importJSON()</code></li>
</ul>
</li>
<li><code>RxCollection</code> uses a separate pouchdb instance for local documents, so that they can persist during migrations.</li>
<li>A JsonSchema must have the <code>required</code> array at the top level and it must contain the primary key.</li>
</ul>
<h2 id="new-features">New features</h2>
<h3 id="composite-primary-key">Composite primary key</h3>
<p>You can now use a composite primary key for the schema where you can join different properties of the document data to create a primary key.</p>
<pre><code class="lang-javascript"><span class="hljs-keyword">const</span> mySchema = {
  keyCompression: <span class="hljs-literal">true</span>, <span class="hljs-comment">// set this to true, to enable the keyCompression</span>
  version: <span class="hljs-number">0</span>,
  title: <span class="hljs-string">&apos;human schema with composite primary&apos;</span>,
  primaryKey: {
      <span class="hljs-comment">// where should the composed string be stored</span>
      key: <span class="hljs-string">&apos;id&apos;</span>,
      <span class="hljs-comment">// fields that will be used to create the composed key</span>
      fields: [
          <span class="hljs-string">&apos;firstName&apos;</span>,
          <span class="hljs-string">&apos;lastName&apos;</span>
      ],
      <span class="hljs-comment">// separator which is used to concat the fields values.</span>
      separator: <span class="hljs-string">&apos;|&apos;</span>
  }
  type: <span class="hljs-string">&apos;object&apos;</span>,
  properties: {
      id: {
          type: <span class="hljs-string">&apos;string&apos;</span>
      },
      firstName: {
          type: <span class="hljs-string">&apos;string&apos;</span>
      },
      lastName: {
          type: <span class="hljs-string">&apos;string&apos;</span>
      }
  },
  required: [
    <span class="hljs-string">&apos;id&apos;</span>, 
    <span class="hljs-string">&apos;firstName&apos;</span>,
    <span class="hljs-string">&apos;lastName&apos;</span>
  ]
};
</code></pre>
<h2 id="for-the-future">For the future</h2>
<p>With these changes, RxDB is now ready for the future plans:</p>
<ul>
<li>I want to replace the <code>revision</code> handling of documents with conflict resolution strategies that can always directly resolve conflicts instead of maintaining the revision tree.</li>
<li>Implement different implementations for <code>RxStorage</code>. I will first work on a memory based version. I am in good hope that the community will create other implementations depending on their needs.</li>
</ul>
<h2 id="you-can-help">You can help!</h2>
<p>There are many things that can be done by <strong>you</strong> to improve RxDB:</p>
<ul>
<li>Check the <a href="https://github.com/pubkey/rxdb/blob/master/orga/BACKLOG.md" target="_blank">BACKLOG</a> for features that would be great to have.</li>
<li>Check the <a href="https://github.com/pubkey/rxdb/blob/master/orga/before-next-major.md" target="_blank">breaking backlog</a> for breaking changes that must be implemented in the future but where I did not had the time yet.</li>
<li>Check the <a href="https://github.com/pubkey/rxdb/search?q=TODO" target="_blank">TODOs</a> in the code. There are many small improvements that can be done for performance and build size.</li>
<li>Review the code and add tests. I am only a single dude with a laptop. My code is not perfect and much small improvements can be done when people review the code and help me to clarify undefined behaviors.</li>
<li>Improve the documentation. In the last user survey many users told me that the documentation is not good enough. But I reviewed the docs and could not find clear flaws. The problem is that I am way to deep into RxDB so that I am not able to understand which documentation a newcomer to the project needs. Likely I assume too much knowledge or focus writing about the wrong parts.</li>
<li>Update the <a href="https://github.com/pubkey/rxdb/tree/master/examples" target="_blank">example projects</a> many of them are outdated and need updates.</li>
</ul>
<h2 id="discuss">Discuss!</h2>
<p>Please <a href="https://github.com/pubkey/rxdb/issues/3279" target="_blank">discuss here</a>.</p>

                                
                                </section>
                            
    </div>
    <div class="search-results">
        <div class="has-results">
            
            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
            <ul class="search-results-list"></ul>
            
        </div>
        <div class="no-results">
            
            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
            
        </div>
    </div>
</div>

                        </div>
                    </div>
                
            </div>

            
                
                <a href="11.0.0.html" class="navigation navigation-prev " aria-label="Previous page: 11.0.0">
                    <i class="fa fa-angle-left"></i>
                </a>
                
                
                <a href="9.0.0.html" class="navigation navigation-next " aria-label="Next page: 9.0.0">
                    <i class="fa fa-angle-right"></i>
                </a>
                
            
        
    </div>

    <script>
        var gitbook = gitbook || [];
        gitbook.push(function() {
            gitbook.page.hasChanged({"page":{"title":"10.0.0","level":"2.16.6","depth":2,"next":{"title":"9.0.0","level":"2.16.7","depth":2,"path":"releases/9.0.0.md","ref":"./releases/9.0.0.md","articles":[]},"previous":{"title":"11.0.0","level":"2.16.5","depth":2,"path":"releases/11.0.0.md","ref":"./releases/11.0.0.md","articles":[]},"dir":"ltr"},"config":{"plugins":["edit-link","github","custom-favicon","-sharing","expandable-chapters","scripts"],"root":".","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"github":{"url":"https://github.com/pubkey/rxdb"},"scripts":{"files":["./analytics.js","./next-button.js"]},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"fontsettings":{"theme":"white","family":"sans","size":2},"highlight":{},"favicon":"./files/logo/logo.svg","custom-favicon":{},"edit-link":{"label":"","base":"https://github.com/pubkey/rxdb/tree/master/docs-src"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"expandable-chapters":{}},"theme":"default","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"RxDB - JavaScript Database","links":{"sidebar":{"RxDB":"/","Follow @twitter ":"https://twitter.com/intent/user?screen_name=rxdbjs","Chat @discord ":"https://discord.gg/tqt9ZttJfD","Star @github ":"https://github.com/pubkey/rxdb","Donate @github ":"https://github.com/sponsors/pubkey"}},"gitbook":"3.2.3"},"file":{"path":"releases/10.0.0.md","mtime":"","type":"markdown"},"gitbook":{"version":"3.2.3","time":""},"basePath":"..","book":{"language":""}});
        });
    </script>
</div>

        
    <script src="../gitbook/gitbook.js"></script>
    <script src="../gitbook/theme.js"></script>
    
        
        <script src="../gitbook/gitbook-plugin-edit-link/plugin.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-github/plugin.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-expandable-chapters/expandable-chapters.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-scripts/28fd35f20e40e37a9994a4812fc3c7cc-analytics.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-scripts/9bc541ba5d318730a5b44c9770ae18fc-next-button.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
        
    

    </body>
</html>

